package com.ruoyi.course.domain;

import java.util.Date;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.labdata.domain.LabFlowInstance;

/**
 * 调课管理对象 lab_course_adjust
 * 
 * @author jun.wang
 * @date 2022-04-10
 */
public class LabCourseAdjust extends LabFlowInstance
{
    private static final long serialVersionUID = 1L;
    /**
     * 调课管理类型.
     */
    private static final String businessTypeOpt = "courseAdjust";

    public LabCourseAdjust() {
        super.setBusinessTypeOpt(businessTypeOpt);
    }

    /** 流程编号 */
    @Excel(name = "流程编号")
    private String processNumber;

    /** 签批步骤 */
    @Excel(name = "签批步骤")
    private String approvelStep;

    /** 签批人员 */
    @Excel(name = "签批人员")
    private String approvelBy;

    /** 签批时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "签批时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date approvelTime;

    /** 状态 */
    @Excel(name = "状态")
    private Long status;

    /** 调课类型 */
    private Long type;

    /** 调课课程 */
    private LabCourse course1;

    /** 目标课程 */
    private LabCourse course2;

    public void setProcessNumber(String processNumber) 
    {
        this.processNumber = processNumber;
    }

    public String getProcessNumber() 
    {
        return processNumber;
    }
    public void setApprovelStep(String approvelStep) 
    {
        this.approvelStep = approvelStep;
    }

    public String getApprovelStep() 
    {
        return approvelStep;
    }
    public void setApprovelBy(String approvelBy) 
    {
        this.approvelBy = approvelBy;
    }

    public String getApprovelBy() 
    {
        return approvelBy;
    }
    public void setApprovelTime(Date approvelTime) 
    {
        this.approvelTime = approvelTime;
    }

    public Date getApprovelTime() 
    {
        return approvelTime;
    }
    public void setStatus(Long status) 
    {
        this.status = status;
    }

    public Long getStatus() 
    {
        return status;
    }

    public Long getType() {
        return type;
    }

    public void setType(Long type) {
        this.type = type;
    }

    public LabCourse getCourse1() {
        return course1;
    }

    public void setCourse1(LabCourse course1) {
        this.course1 = course1;
    }

    public LabCourse getCourse2() {
        return course2;
    }

    public void setCourse2(LabCourse course2) {
        this.course2 = course2;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("instanceId", getInstanceId())
            .append("processNumber", getProcessNumber())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("approvelStep", getApprovelStep())
            .append("approvelBy", getApprovelBy())
            .append("approvelTime", getApprovelTime())
            .append("status", getStatus())
            .toString();
    }
}
